package com.example.demo1_;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.google.android.material.snackbar.BaseTransientBottomBar;
import com.google.android.material.snackbar.Snackbar;

import static com.google.android.material.snackbar.BaseTransientBottomBar.*;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    EditText editText1 = null;
    /**
     * 系统运行级别:应用创建
     * @param savedInstanceState 保存数据
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //加载布局进入内存
        setContentView(R.layout.activity_main);
        editText1 = findViewById(R.id.edit1);
        Button button1=findViewById(R.id.button1);
        Button button2=findViewById(R.id.button2);
        Button button3=findViewById(R.id.button3);
        //添加button1的点击事件
        button1.setOnClickListener(new DialButtonClickListener());
        //添加button2的点击事件
        button2.setOnClickListener(this);
        //添加button3的点击事件
        button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String tel=editText1.getText().toString();
                //判断输入是否为空
                if (TextUtils.isEmpty(tel)){
                    System.out.println("输入为空");
                    Toast.makeText(MainActivity.this,"用户输入是空",Toast.LENGTH_SHORT).show();
                }else {
                    System.out.println("输入号码:"+tel);
                    //创建消息传递对象
                    Intent intent=new Intent();
                    //指定启动的活动动作
                    intent.setAction(Intent.ACTION_CALL);
                    //拨打电话动作传递的数据
                    Uri uri = Uri.parse("tel:" + tel);
                    intent.setData(uri);
                    //启动拨号界面
                    startActivity(intent);
                    //弹出消息
                    Toast.makeText(MainActivity.this,"方式3调用成功",Toast.LENGTH_SHORT).show();
                }
            }
        });
    }

    /**
     * 实现点击事件监听器
     * 点击事件方法重写
     * @param v
     */
    @Override
    public void onClick(View v) {
        String tel=editText1.getText().toString();
        //判断输入是否为空
        if (TextUtils.isEmpty(tel)){
            System.out.println("输入为空");
            Toast.makeText(MainActivity.this,"用户输入是空",Toast.LENGTH_SHORT).show();
        }else {
            System.out.println("输入号码:"+tel);
            //创建消息传递对象
            Intent intent=new Intent();
            //指定启动的活动动作
            intent.setAction(Intent.ACTION_CALL);
            //拨打电话动作传递的数据
            Uri uri = Uri.parse("tel:" + tel);
            intent.setData(uri);
            //启动拨号界面
            startActivity(intent);
            //弹出消息
            Toast.makeText(MainActivity.this,"方式2调用成功",Toast.LENGTH_SHORT).show();
        }
    }

    /**
     * 通过布局文件调用方法
     * 调用拨号界面
     * 作用同实现View.OnClickListener接口重写的onClick方法
     * @param view
     */
    public void call(View view) {
        String tel=editText1.getText().toString();
        //判断输入是否为空
        if (TextUtils.isEmpty(tel)){
            System.out.println("输入为空");
            Toast.makeText(MainActivity.this,"用户输入是空",Toast.LENGTH_SHORT).show();
        }else {
            System.out.println("输入号码:"+tel);
            //创建消息传递对象
            Intent intent=new Intent();
            //指定启动的活动动作
            intent.setAction(Intent.ACTION_CALL);
            //拨打电话动作传递的数据
            Uri uri = Uri.parse("tel:" + tel);
            intent.setData(uri);
            //启动拨号界面
            startActivity(intent);
            //弹出消息
            Toast.makeText(MainActivity.this,"方式4调用成功",Toast.LENGTH_SHORT).show();
        }
    }

    /**
     * 拨号按钮的点击事件内部类
     * 注意:拨打电话需要权限允许
     */
    private class DialButtonClickListener implements View.OnClickListener{
        @Override
        public void onClick(View v) {
            String tel=editText1.getText().toString();
            //判断输入是否为空
            if (TextUtils.isEmpty(tel)){
                System.out.println("输入为空");
                Toast.makeText(MainActivity.this,"用户输入是空",Toast.LENGTH_SHORT).show();
            }else {
               System.out.println("输入号码:"+tel);
                //创建消息传递对象
                Intent intent=new Intent();
                //指定启动的活动动作
                intent.setAction(Intent.ACTION_CALL);
                //拨打电话动作传递的数据
                Uri uri = Uri.parse("tel:" + tel);
                intent.setData(uri);
                //启动拨号界面
                startActivity(intent);
                //弹出消息
                Toast.makeText(MainActivity.this,"方式1调用成功",Toast.LENGTH_SHORT).show();
            }

        }
    }
}
